package com.molichuxing.services.property.sdk;

/**
 * 微信交易状态
 * 
 * @author zoumingyu
 * @date 2018年7月20日
 *
 */
public enum WechatpayTradeStateEnum {
	/**
	 * 支付成功
	 */
	SUCCESS("SUCCESS", "支付成功"),
	/**
	 * 转入退款
	 */
	REFUND("REFUND", "转入退款"),
	/**
	 * 未支付
	 */
	NOTPAY("NOTPAY", "未支付"),
	/**
	 * 已关闭
	 */
	CLOSED("CLOSED", "已关闭"),
	/**
	 * 已撤销（刷卡支付）
	 */
	REVOKED("REVOKED", "已撤销（刷卡支付）"),
	/**
	 * 用户支付中
	 */
	USERPAYING("USERPAYING", "用户支付中"),
	/**
	 * 支付失败(其他原因，如银行返回失败)
	 */
	PAYERROR("PAYERROR", "支付失败(其他原因，如银行返回失败)");

	private String value;

	private String name;

	WechatpayTradeStateEnum(String value, String name) {
		this.value = value;
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 通过value获取枚举的name
	 *
	 * @param value
	 * @return
	 */
	public static String getName(String value) {
		for (WechatpayTradeStateEnum enumerate : WechatpayTradeStateEnum.values()) {
			if (enumerate.getValue().equals(value)) {
				return enumerate.name();
			}
		}
		return null;
	}

	/**
	 * 通过枚举名获取枚举类
	 *
	 * @param enumerate
	 * @return
	 */
	public static WechatpayTradeStateEnum getEnum(String enumerate) {
		try {
			return Enum.valueOf(WechatpayTradeStateEnum.class, enumerate);
		} catch (Exception e) {

		}
		return null;
	}
}
